import { AxiosResponse } from "axios";
import { ISession } from "../types/sessionType";
import { get, del } from "./request";

/**
 * Объект с запросами для получения/удаления сеансов.
 */
const sessionServices = {
    /**
     * @async
     * @function getSessions - Получает список сеансов.
    * @returns { Promise<ISession[]> } - Промис со списком сеансов.
    */
    getSessions: async (): Promise<ISession[]> => {
        const sessions = await get('/api/sessions');
        return sessions.data;
    },
    /**
     * @async
     * @function deleteSession - Удаляет сеанс по идентификатору.
     * @param { string } sid - Идентификатор сеанса.
     * @returns { Promise<AxiosResponse<any, any>> } - Промис с ответом сервера.
     */
    deleteSession: async (sid: string): Promise<AxiosResponse<any, any>> => del(`/api/session/${sid}`)
}

export default sessionServices;